/**
 * 多边形块体实体类demo案例
 */

import * as Cesium from "cesium";
import * as EasyCesium from "@xhymf1992/easy-cesium";

export function drawPolygonStretchEntity() {

    let positions = [
        Cesium.Cartesian3.fromDegrees(120, 30, 1000),
        Cesium.Cartesian3.fromDegrees(121, 30, 1000),
        Cesium.Cartesian3.fromDegrees(121, 31, 1000),
        Cesium.Cartesian3.fromDegrees(120, 31, 1000),
    ]
    let options = {
        id: "polygon-stretch-entity", // entity对象id，具有唯一性，必填
        name: "polygon-stretch-entity", // entity的名称，可选，默认为空
        show: true, // 是否显示，可选，默认显示
        positions: positions, // 多边形几何数据，必填
        topHeight: 10000,
        botHeight: 5000,
        color: "rgba(255,255,255,1)", // 多边形块体颜色，可选，默认白色
        outline: true, // 是否显示边框，可选，默认显示
        outlineColor: "rgba(0,0,0,1)", // 边框颜色，可选，默认黑色
        constant: true, // 多边形块体是否是静态的，可选，默认为是，当为false时，多边形块体的参数变为时变类型，适用于经常变化的情况
        viewer: window.viewer // cesium视图对象，必填
    };

    // @ts-ignore
    window.polygonStretch = new EasyCesium.PolygonStretchEntity(options);
    // @ts-ignore
    window.polygonStretch.init();
    // @ts-ignore
    window.polygonStretch.flyTo();

    // // 切换显隐
    // window.polygonStretch.show = false;
    // window.polygonStretch.show = true;

    // // 修改多边形
    // setTimeout(() => {
    //     window.polygonStretch.positions = [
    //         Cesium.Cartesian3.fromDegrees(120, 30, 1000),
    //         Cesium.Cartesian3.fromDegrees(121, 30, 1000),
    //         Cesium.Cartesian3.fromDegrees(120, 31, 1000),
    //     ];
    // }, 1000)

    // // 修改颜色
    // window.polygonStretch.color = "rgba(255,255,0,1)";

    // // 切换边框的显隐
    // window.polygonStretch.outline = false;
    // window.polygonStretch.outline = true;

    // // 修改边框颜色
    // window.polygonStretch.outlineColor = "rgba(255,0,0,1)";

    // // 修改顶面高程
    // window.polygonStretch.topHeight = 20000;

    // // 修改底面高程
    // window.polygonStretch.botHeight = 10000;

    // // 销毁entity
    // window.polygonStretch.destroy();

}